package com.design.components;

import java.util.List;
import java.util.NavigableMap;
import java.util.TreeMap;

import com.data.IdManager;
import com.design.DesignRestrictions;

public class Template  extends DesignComponent implements DesignRestrictions {
	
	//**************************************************************************************************
	//	Constructors.
	//**************************************************************************************************
	
	public Template () {
		super(IdManager.TEMPLATE_PREFIX);
		items = new TreeMap <Integer, DesignComponent> ();
	}
	
	public Template (String name) {
		this();
		this.setName(name);
	}
	
	//**************************************************************************************************
	//	Attributes.
	//**************************************************************************************************

	private TreeMap <Integer, DesignComponent> items;

	//**************************************************************************************************
	//	Public Methods.
	//**************************************************************************************************

	@Override
	public void dumpAttributes(List <String> names, List <String> values) {
		super.dumpCommonAttributes(names, values);
	}

	@Override
	public void keepAttributes(List<String> values) {
		
	}
	
	//**************************************************************************************************
	//	Methods that exports this Class (Public Methods).
	//**************************************************************************************************
		
	//**************************************************************************************************
	//	Inner Methods. (Private Methods).
	//**************************************************************************************************
	
	//**************************************************************************************************
	//* Getters and setters. 
	//**************************************************************************************************

	public void setItems(TreeMap <Integer, DesignComponent> items) {
		this.items = items;
	}

	public NavigableMap <Integer, DesignComponent> getItems() {
		return items.descendingMap();
	}
	
	//**************************************************************************************************
	//	Inner Classes.
	//**************************************************************************************************
	
}
